add caching again to user model