dropspot component massive refactoring