modified por encoder