refactor all the moving methods and the remove if contions form the switch case construction