dynamic plugins added
refactored version