Direction refactor