+ add handleUserMove