correct this logic.