added checking of pointers before dereferencing