change how the createComponents works.