added user defined learning rates