added custom username support