Now handles user-defined components