baseline rntn in there, need to clean up a lot and refactor, also need to add adagrad, multithreading and some other improvements