This is a project for my current masters in computer science at Memorial University of Newfoundland, St. Johns, Canada.