added a model and quickcheck tests