Final project for Software Design and Implementation