myallocator finished version