fact with if
lists etc