add init logic