proglang hw2 with corrections - 100/100