all rules ported