C source code. Rewrite based on this code.