should data ever be allowed to be undefined or null?