decouple encoder of choice from user class
Additional tweak(s)