idk shit, fixed warnings and added alex's stuff but it'll probably break