add reset and stop method