adds printing and some botched drag and drop