[feature] refactor book data source