changed to protected for direction enums