Transferring over from our old svn.  This contains all our old code, but not all the test cases