added weight decay parameter