fiddle with the State monad