First version with test-suite