args = parser.parse_args()
    verbose = args.verbose
    threads = args.threads

    seed = args.seed
    if seed is None:
        seed = np.random.randint(0, (2**32) - 1)
        logger.info("Using seed {}".format(seed))
        np.random.seed(seed)
        rand.seed(seed)

    logger.info("Creating MDPs")
    logger.info("----------")

    envs = [{
        'env': environments.get_large_rewarding_frozen_lake_environment(),
        'name': 'large_frozen_lake',
        'readable_name': 'Frozen Lake (18x20)',
    }, {
        'env':
        environments.get_large_rewarding_frozen_lake_slipper_environment(),
        'name':
        'large_frozen_lake',
        'readable_name':
        'Frozen Lake (18x20)',
    }, {
        'env': environments.get_windy_cliff_walking_environment(),
        'name': 'cliff_walking_windy',
        'readable_name': 'Cliff Walking (4x12)',
    }, {
        'env': environments.get_cliff_walking_environment(),
    logger.info("----------")

    envs = [{
        'env':
        environments.get_rewarding_frozen_lake_environment(
            ENV_REWARDS['small_lake']['step_rew'],
            ENV_REWARDS['small_lake']['hole_rew'],
            ENV_REWARDS['small_lake']['goal_rew']),
        'name':
        'frozen_lake',
        'readable_name':
        'Frozen Lake (8x8)',
    }, {
        'env':
        environments.get_large_rewarding_frozen_lake_environment(
            ENV_REWARDS['large_lake']['step_rew'],
            ENV_REWARDS['large_lake']['hole_rew'],
            ENV_REWARDS['large_lake']['goal_rew']),
        'name':
        'large_frozen_lake',
        'readable_name':
        'Frozen Lake (15x15)',
    }, {
        'env':
        environments.get_windy_cliff_walking_environment(
            ENV_REWARDS['cliff_walking']['step_rew'],
            ENV_REWARDS['cliff_walking']['fall_rew'],
            ENV_REWARDS['cliff_walking']['goal_rew']),
        'name':
        'cliff_walking',
        'readable_name':
        'Cliff Walking (4x12)',