Improve m2 wrap and struct interface together