server side movement impl