adding restore capability