Simplified user model, split to functions ...