todo: implement allocator scaler