merge fixes from experimental branch, this now works