more flexible plugin requirements. Closes #1728