have user generate own user_id