http://hawkins.io/2012/07/rack_from_the_beginning/