add documentation for each components.