Consolidated old version