username implementation