renamed kernel to geometry, added utility