each batch has each message handeled by a go routine