Copyright (c) 2006-2008 Princeton University
Author: Christian Bienia
