Refactor and add audio

Modularized functions
Add basic audio