implement movecost