added direction movement, and MapLocation[],