this is such a mess idek why i bothered