add checking if relevant rule exists in constructor, and some code refactoring"