Added some new files, created some unit tests, and added some utility and analysis functions