add layer backpropagation test, small refactoring, test not passing