renamed components to prevent naming collisions