Created interfaces and tested with an example