recursive execution depth limit added