start reimplementing decoder through function array