This is my best effort so far.
It still needs tweaking.