Q-codes