la soluzione è praticamente uguale, anche se permettimi di dirti che questa non è la strada corretta.

Interessante lettura:

http://happycog.com/lectures/dwws/