how rooting works