exposed private functions to resolve errors