Added momentum
fixed bug
added util functions
better numerical gradient checking