some clean up
StateT