Adding Nick Becker's circle.py, will upload later with fixes for test #2