add init_pop function