added exact and remainder rules