Huge update to structure. Backpropagate added too.