one more refactor.  I don't think it's important