content can be null