bugfix : decoder function