Add rule full implementation