implemented geom primitives