component creation changed to the standard way