suppert multi consumers
fix f