refactor novelsdao