fixed the identified 1,3,4 errors by Sam