added a better example for interface usage