added file classes and initial tests