re-added functions