fix result can be nil