added typespec generation