adding init function