Original source code, no change made during modularization.