hard/soft constraints wrong way round