controlmethod refactoring