make methods and properties virtual in order to allow mocking possibilit...

...y