please don't judge me from this terrible code, I just need to get home and sleep