moved Oscillator implementation to header