collect or not modify