cleaning up, adding samplevoice()