extracted component... might be a terrible idea