added more criteria for valid usernames + tests