object extension and design by contracts testing
design by contract continued