rearranged include derictives to remove compiler warnings