with an interface and a moq