move current_direction to position struct