first delete of unnecessary functions