auto encoding system