allocate now matches tuple as first param