Switched up the language
Adding tests and stuff
Still trying to flesh this out, way harder than I thought