compute all forward, compute edge, add parameters