Broke out protocols; reworked includes; minor cleanup.