xf update: dont expose internal fields, use only fns