I stayed up way too late working on this holy shit