separates read and write handler allocators