Revert "Revert crossfaction"

This reverts commit 748992c617d8652bf0c9ea79c43afb0ff21f3edc.