start to read the source code