Basic interfaces and abstract class added.