implement fanout