finished implementing rules