hopefully i dont ruin everything after this