simplify this logic.