Initial refactor to better handle exceptions (and ditched broken-out archive methods).