init based on 3.0