#17 reproduced
#17 refactored a bit
#17 another test to reproduce
#17 method puzzle()
#17 method tail()
#17 fixed
#17 doc