Just to solve this one was a challenge...! Slight improvements.