add some components in learning