has errors. but a ton of fixes!