setting the pivot generator in order to acommendate varying generation size
added missing includes
adding pertual encoder and appropiate unit tests using a standard decoder