it *pains* me that I have to do this