add code for interface define and data struct define