add universal process method