component for web programming