Inspired by http://thomasstreet.net/blog/spreadsheet.html. Features: