synchronization with C++ version
Merge branch 'master' into ice-cream-sandwich
Merge branch 'master' into booksdb
Merge branch 'ice-cream-sandwich' into booksdb-ics
Merge branch 'booksdb' into booksdb-ics