geometry circles abstraction