copy from git://g.csail.mit.edu/6.824-golabs-2014