now it actually generates usernames
more username function stuff