added implimentation of computeNormals()