refactoring with convenience method