Dominic: refactor; dispatch on paths