refactor and orient objectively