learning contract