only use new-style classes
fixes in the direct solver