add git ignore
add more tests