path specs with composition instead of inheritance