semester project for my software construction class