tweak about handling nil or not