Homework 2 for Berkley SaaS course https://courses.edx.org/courses/BerkeleyX/CS-169.1x/2013_Summer/info