Added Allocator as template parameter