init funciton added