add initialize function