adding interfaces function