Интересное решение от Daniel Wurtzel