goddamnit, this isn't c++