cleanup, use allocator for hops