implement get*Direction