mgj : views has been extended
mgj : encoder/decoder logic addded