some new functions and a reimplementation of the sound class stuff