reflection based decoding