implementing encoders.
naming consistency