ticket:5 Solution (tests passed)