defined interface for allocator (tomorrow's work)