source and license C3 Framablog by David Revoy