Copyright (C) 2000-2011 A.P.F.