add init codes