salt should be NULL if no -s