I spent way too much fucking time on this stupid shit