Add component and docs
Add component tests