introduce config file & move auth & storage into pluggable things