start working on back error propagation