fix multiple issues with usernames, history, and DRY