imporve the calss define