ugh, finally passes all the tests with the ability to assign main to a function or class, this took way longer than it should've and I don't love the code, but it is what it is