more api rework
separate resource loading and root path logic