  In the first part of the paper we consider binary input channels that are not
necessarily stationary and show how positive rates can be achieved using codes
constrained to be within predetermined dictionaries. We use a
Gilbert-Varshamov-like argument to obtain the desired rate achieving codes.
Next we study the corresponding problem for channels with arbitrary alphabets
and use conflict-set decoding to show that if the dictionaries are contained
within nice sets, then positive rates are achievable.
