refactor, better messages, support multiple itemgroup nodes