surface class