.gitignore updated, added adapter design pattern and exceptions tests