added interfaces and their test classes