all errors fixed