separate a few functions, continue developing METS process