plugin and snippet