add nil context checking