another revision logic attempt