first implementation of drag&drop functionality