Updated to v2, using plugin architecture