Revert "Revert "Karrot rework""

This reverts commit a908cd7715f4572c652aa36148a8c0719fcfb3da.