introducing XActionAgent