add 2 more methods supporting move by steps