refactored backprop motivation