refactoring some code organization and adding clip and punch methods to circle
experimenting with actions on dots but it has scope problems