limit eval time and allow cancel