Whisper refactor