change ctlCall to void* for multitype support