add more includes and checks