Additional Surface methods

Added most of the methods for Surface