added example with interfaces, but it does not work yet