rework allocation so main-thread uses basket