A more simple example added, without interfaces