separate IDL into several files