helper, stage2 working
merged