Updated .gitignore
Refactored tests.
Refactored and modified docstrings.
Updated API docs.