can be null.