path composing