init by book