direct path calculation