added initialize function