Copyright (C) 2009 David Aguilar (davvid@gmail.com) and contributors
