cup utility: extend