in the middle of refactor madness