WIP: non analytical solution works at all...needs a lot of cleanup