Split source code into files and add symbols testing and more