completed shared component