switched to C++0x and implemented ACPI detection