compass refactoring