refactor section9