replace some new with init to avoid malloc check