p.s. @simonrtegg nice use of ruby