Copyright (C) 2008-2010 J-P Nurmi <jpnurmi@gmail.com>