working on bare bones allocator