mostly finished geom module