make local part attributes not public, will use immutable getters instead