trade callbacks for subtotal and total with test