Much better, simpler and fancy implementation without sound
Pushing diagram complete