just breaking this out to be cleaner