add string generator & default url func