Semester long project for software engineering