Writing Your Own Gadgets: init