data() is now modification safe