main() + runner script