is this public (no getter) for efficiency?
public fields and inheritance get messy