support writing null