Adding gitignore
Adding requirements
Using tests to check for correctnesso

- Handles multiple cases
- Much easier to maintain