Add circle capability [WIP] and do some cleanup