performs tranclusion correctly; uses event broadcast for triggers