refactoring and features

removed static helper
added message parameters
added ordered comparsion