refactor message intf