It's exposed for unit test...or we can't check private functions