implemented PurifyEngine.process()