extract method, nil check
remove redundant check
always return self