introduced user domain class
user now has constraints on its username