clean up readers headers, and USE FORWARD DECLARATIONS when possible.