refactored private fields to be adjacent to associated property