Reworking generics for spectral objects
Updated license
Basic edits