this is lazily done but i'm still kind of proud of it tbh