restored functions