working on move function