modify logic
modify logic