Very elegant solution