Possibly complete allocator... few bugs