added null user checks
more no user checks