some corrections to the multigrid method.

still need to properly implement the v-cycle so that we can call it with
lower tolerance