Allows test and training data to be included. A bunch of other improvements included