initial commit, on hold for exams :(