i think i have to take off redundant `null` check