changed structure to a more modul way to add more file format types