Syntax correction, little optimization, and dependency arranged.