added getComponents method