why the hell did I even add 64-bit types? also, some things going on for vga, I'll explain later