updates submodules to latest
elevates some functions, cleans some cruft
add tests, most require external testdata

- external testdat will be provided in separate repository