fixed initialization of extension pointers to NULL, added user_data to destructor