More work towards new version
Add consume support