add init function