support generic return type for controller.
use service. books: index/show/new are done.