refactored and pimped demo user generation