* forgot to test, fixed some errors