added IDL prototypes