Some basic classes and initial code