added whistle detection