Enhanced pretendMove and reverMove