Add initial support for adding custom books

gh-6