Main project for COMP2550 Semester 1 2013