1tree with tests and comments.