more refactoring, switched to argparse, added stations.txt creation and IO Handling in the unlikely scenario it fails