additional refactoring of helpers