advanced rev(1)