refactor specs and add path property type matching