solved all of the issue and wrote a few tests of my own and solved them as well