implement quickcheck test suite