added async execution with custom objects