Refactor to hide private methods