rewrite init
fixxx