refactoring messages and add gt check