implement missing outcome functionality