fixing all of the problems we talked about