 runtime adaptable object 
