added DoubleBufferedAllocator