add test
add test
first test version
make template path
some refactoring
some refactoring