simplified rev pattern