add init opt support