outlining basic principles for the plugin