detailed example of how the code could be designed in interface