rev1 and rev2