modify the init