Print refactor