renamed salt to has_salt when it is a boolean