included underscore grudingly, working on refactor