refactor circle printer