A fork of JoeDoyle23's stuff