added new _do_