Stanford CS193P Assignment 2 (lecture 3) Matchismo 2