add additional methods to deal with components and resources