direction checking
direction checking
direction checking