Added drag and drop functionality for components