Trip refactor