add a simple Allocator trait