exception: make message() return real type