Fixed rules and ranks a bit up
Added hasRule()