some extra lines deleted