restructuring the vocoder class