added pseudocomponent stuff