Clean solution (16/31)

Clean solution