rules as array