Homework 1 with test cases