add publish controller
merge with plc