http://interactivemedia.seancohen.com/fa2013/scarbor.rese/homework6/index.html