http://chimera.labs.oreilly.com/books/1230000000345/ch11.html#_stack_layout trying out an exercise from