allocate
allocator
remove has_create
sugar
style refactor