added allocator, iterator::get_node()
using std::allocator for worse performance