added weight-decay option