Add Rule Specs and basic implementation