Added file drag/drop and additional validation