decode and documentation