create a mechanism to call C