Changed and/or so at least one restriction is required
Added unit tests