learn compoent and container