add "void *userdata" to function method prototype