toString() now checks for null