Add source file and tests.