book download info in SyncData
refactoring: separate class for hashes collection
Merge branch 'master' into tags-master