Added more surface functions