added tests, support for multiple source files