added encoder_interface.hpp