make base path a config
explain why the odd structure