added unit-test runners + template refactoring