added demo where drag n drop logic is separated into util