VoicePortal refactoring