working on par sgd algorithm