begin with cleanup before start