updated github readme and completely refactored move funtion + corresponding testcases