- contract definition moved to generators