significant refactoring including renaming of models and new top level classes to contain media files