logic is done
Adding the tests. Adding also a timeout that is not working. I will take a look in how to solve it in the future. Not proud :(