parameter encode/decoder should not be exposed