allow nils and formatting