Work in progress. Updated December 27, 2013