added documentation and encoder ifs