plugin interface refactoring
add utility classes
dev