Re-written solution ...

Old solution was verbose