blah refactor