use partial for path constructing