added action completion handler