final version with test files