username function needs testing