add tx_config in usual places, fix callback hells
optimize