Copyright (C) 2007, 2008, 2009, 2010
David Aguilar <davvid@gmail.com> and contributors
