refactored && reset operation added