removed oncomplete function from the base action; added a new action that encapsulates a function
added tests