add exposed private methods for testing