added new scm function: make_surface ()