First pass of plugin implementation