added movable object. have not yet rearranged class hierarchy