inner interface