better example Circle impl