component functionality for roots