Converted to new style classes and extended calling syntax