handle the new operator