Cleaned up some comments and implemented backprop