        let id = self.get_next_id();
        let state = self.create_state();
        let printed = self.id_lookup.add_file(filename.clone().into_iter(), (self.site_id, id), self.site_id);
        let filename:Vec<_> = filename.iter().map(|c| c.to_str().unwrap().to_string()).collect();
        self.files.insert((self.site_id, id), FileMetadata {
            filename: (state.time_stamp, filename.clone()),
            printed_filename: printed,
            attributes: HashMap::new()
        });
        self.save().unwrap();
        FileSetOperation::Create(CreateOperation {
            state: state,