improvement on section9