restored api generation