Added tests and .gitignore update