Circle implementation with test