Divided move() into methods, added directBot(), clearObs() and rever()