Eight-times Olympic sprinting champion Usain Bolt ran under 10 seconds for the first time this year as he narrowly won the 100 metres at the Monaco Diamond League meeting on Friday.
The Jamaican was slow out of the blocks, just as he was in his last race in Ostrava last month, and never managed to put a big gap between him and the field.
He won in 9.95 seconds, three hundredths of a second ahead of American Isiah Young. South Africa's Akani Simbine was third in 10.02.
Before the meeting, Bolt went to Germany to have treatment on back issues that have troubled him for years. It was his last outing before next month's world championships in London where he will race in the 100 metres and 4x100m relay.
Olympic and world champion Wayde Van Niekerk won a titanic battle against Botwana's Isaac Makwala to take the 400 metres.
The South African, also the world record holder in the event, made a lightning start, then Makwala recovered to lead coming off the final bend before Van Niekerk powered down the final straight to win in 43.73 seconds.
Makwala's time of 43.84 was a personal best.
Van Niekerk's fellow South African, Caster Semenya, won a dramatic women's 800 metres in a season's best and meeting record time of 1:55.27.
The Olympic champion snatched the win in the last few metres ahead of Burundi's Francine Niyonsaba and Ajee Wilson, who both set national records. The trio had been neck and neck down the final straight.
Wilson's 1:55.61 shattered the previous U.S. record of 1:56.40 set by Jearl Miles-Clark in 1999.
Elijah Manangoi upstaged a strong field to win the men's 1500 metres in a year's best time of 3:28.80.
He sped past compatriot Timothy Cheruiyot on the final straight after the two broke clear of the field while Olympic champion Matt Centrowitz was well beaten in ninth.
Manangoi's fellow Kenyan, Emmanuel Korir, also ran the fastest time of the year as he won the men's 800 metres in 1:43.10.