private method and promise