modify component creation mechanism.