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