avoid multiple core.publish()