implemented open and file drop