COMP3217 Coursework 2