add unique fields
skip uniqueness check on null values
raise more informative errors