added l2 weight decay