added numeric gradient checker