fix logic bug.