Initial implementation for archive.  Still need to write test for the function.