4-3 init
implement