modify logic
perfect 1