add: ability to specify optional facts