added surface extraction tools
added function body