CS106A assignemt 2 functions