implement file sharing