adding bridge pattern implementation for geometric entities
templating abstract iterator