Re-wrote hierarchy, added carrot overwrite