added not linear move, but is buggy