supports testing with randon models