can be undefined - theoretically