restructured controllers, added unittest
fix some bugs, added preliminary test codes, separated viewBooks to default controller