cleaner code
no message