[yan qian] refactor to create Fava.