Refactor to use private members