adding working LFO / refactoring / misc fixes