support passing target properties to move()