decided to remove cfunc