Added requirements-dev.txt
More tests and a small refactor for easier testing