tons of errors fixed