Added interfaces and unit-test project