modified core, config and add hook