rework triggerfactory