patch the source code