2nd pass
re-implement the required plugins better