added gitignore and unit tests