Adding logging and argsparse
It can be interrupted!