working movement implementation!