allow customizing idl generator