implementing decoder (3)
implementing decoder (4)