reverting to rulex' merged version