add surface tests and test script