VoicePortal rewrite to using class lib