init by tanx