return option of result instead on null