adding Doug Lea's allocator. fix destructor