tone generation actually works now