Implements with TDD http://codingdojo.org/cgi-bin/wiki.pl?KataRange