Drag and drop refactor, to separate logic from css changes