added constructors; alloc->init() and super class
release() calls destroy_object(), calls destructors, including super->destroy()
not important