Added interfaces for unit testing and Client testing