added more tests with mocks