linear_decoder: complete