#2 fix bug (extern circle quit the screen) and move CircleFactory