yet another pass at decoder related stuff.