final project for comp 3501 at Carleton University