better (old) pattern