cleanup, fixed delete bug
cleanup
using std::allocator