added file drag and drop support