archive functions first draft