Add source files and write some documentation.