enables contract to define timeout