more complete model