make sure to check all three of these for null