went back and refactored for some consistency