lab2 ports finished.