refactored for a little performance boost