geometry analyser refactoring