use getter instead of raw access to .data