this is preparation for ske implementation.
not constructing one for each possible message but only constructing when message happens