broke out spectra.rb into mutliple files