implementing simple async execution