movement logics moved to objects