almost done, patrick is boss at fixing errors