the biggest part of rules now have functionality