add messages received framework, disallow duplicates