need to add general random input generators, and random input unit tests, error numbering