Sorted out library dependencies / includes. Include every header file needed by each file individually, don't assume any inherited includes. Use forward declarations where possible.