refactoring, chromecast integration, misc changes