Restructured, added build.sh, all tests passing except SurroundSnippet