refactor audio system