fix move, needs improvement