interfaces inside component