refactored geom