complete set of motions. needs better transitions and some code polishing