implementing 'adventure' controls