interactive contract