commented out original appendix like encode and decode prototypes