adding factory mechanism for cross client actions