another refactor - move everything to helpers