drag and drop!

drag and drop pieces
refactor