voicemessage: refactoring (wip)