added component interfaces