fixed canMove and implemented it in move() and facade.