Checked through and updated the checks for complex types