began factoring spectrum viewer out into independent framework