3550 group project, due 20th December 2013