Updated to reuse existing components