Reorganized and changed circle.cs and rest of changes flowed from there