All code come from kuwai(webapi) project