add rule structs