test: reorganize the tests
refactor: refactor a lot of code
test: setup SauceLabs