Rewrote the plugin using convention mapping