several bug fixes...

-added unit tests
-added ignore case option for the validator
-name changes for better understanding
-minor code refactoring