i would pull the case out to it's own private method