Matchismo (cs193p -2013): assignment1 + extra credit