restructure; tests in tests/