Added interfaces and a component