Code which tries to solve code kata defined here: http://codekata.pragprog.com/2007/01/kata_sixteen_bu.html