Change fact construction to be more automated