implemented a portion of allocators