first commit
(first half of assignment)