refactor in bookcase and book controllers