basic interface example