modify init fn