bug fixes and tests

fallback to `message()` only if `msg` argument is omitted.