component initial commit