first version with pathstring based routing