A Polish-registered truck, a kidnapped driver, a falsely-accused Pakistani and a manhunt for a Tunisian suspect: here is what we know about the investigation into the truck attack on a Berlin Christmas market that left 12 people dead.
On Monday the truck's driver, a 37-year-old Pole named Lukasz, headed to Berlin to deliver a load of 24 tonnes of steel beams from Italy. But the delivery was put off until the following day, so he went to park his Polish-registered lorry in an industrial zone in the northwest of the city, the Bild daily reported.
Around 3:00 pm he spoke briefly to his wife and the couple agreed to talk again an hour later. But they never did. Rather, according to his employer Ariel Zurawski, GPS data from the vehicle showed it had been driven, but only making small movements "as if someone was learning how to drive it".
It left its parking space around 7:40 pm, driving the 10 kilometres (six miles) or so to a busy area of west Berlin where the Christmas market was being held, ploughing into the throng of yuletide revellers.
But after 60-80 metres the lorry, instead of driving straight on through the market, swerved to the left, crashing through a stall before coming to a halt on the avenue running along the side of the square. The change of course brings the carnage to an end.
Police found the Polish driver, shot dead, in the passenger seat of the truck's cab. According to Zurawski, who is also his cousin and who was shown photos of the body, "his face was bloodied and swollen" and had a stab wound.
According to German media, the driver could have been kidnapped and told to drive the truck into the crowd before resisting and being killed. Or, sitting in the passenger seat at gunpoint, he may have tried to seize control of the vehicle and forced it off its deadly trajectory.
At first police believed they had got their man: a Pakistani asylum seeker arrested an hour after the carnage two kilometres away. But he was released 24 hours later, Tuesday evening, after investigators realised there had been a mix-up.
He had been detained after an eyewitness called police to say he had seen the perpetrator jump out the truck's cab and was trailing him, while staying in contact with officers to lead them to where they could make an arrest.
In the end, according to Bild, the witness may have lost the trail of the suspect while following him. And police, relying on a description which was too vague, arrested the wrong man. "We declared victory too soon," said one investigator.
Police launched a manhunt Wednesday for a Tunisian national in his early 20s, known by three different names and born in the southern city of Tataouine, according to media reports.
Asylum office papers believed to belong to the man were found in the cab of the truck.
He applied for asylum in Germany in April and received a temporary residence permit, according to the daily Sueddeutsche Zeitung.
The Tunisian also reportedly had contacts with a 32-year-old Iraqi national, identified as Ahmad Abdulaziz Abdullah A, otherwise known as "Abu Walaa", who was arrested in November with four accomplices accused of running a recruitment network for the Islamic State (IS) militant group, according to prosecutors.
German Interior Minister Thomas de Maiziere confirmed authorities were searching for "a new suspect", but did not say whether this person was the Tunisian asylum seeker identified by the media.
The attack has been claimed by IS, with the IS-linked Amaq news agency saying an IS "soldier" had carried out the truck assault "in response to appeals to target citizens of coalition countries".
Germany is part of a US-led coalition fighting IS in Iraq and Syria.