the use of interfaces