More work on contracts