The first half is a great mystery episode, the second is frustrating and a bit dull. Brent Spiner is astounding when playing Data, but unfortunately bad when playing anyone else. He himself admits that his natural style is to overact, and it's cringe worthy to witness. That's not to say that playing three distinct characters is not super impressive, he manages to make each one individual and I can only imagine the effort it must have taken.
I was also waiting for Data to mention Lal, as it would have been a natural topic to bring up with his creator but... nothing. Huh. The ending of the episode also falls flat, as there are no repercussions for anyone's actions. But that first half is tense and exciting as Data takes control of the ship and outmanoeuvres everyone. The reintroduction of Lore is a fun shock.