rewrite using include & add receive-message-hook