adding drag and drop functionalities, (not finished yet)