further utility method refactoring