seems like the second parameter is for testing, which can be replaced by a mocked class. but up to you