integrates repo functionality with user model