anchor.diff:    YImaginaryLow = get_y_imaginary_low(BinaryMap),
     YImaginaryHigh = get_y_imaginary_high(BinaryMap),
     check_y_imaginary(YImaginaryLow, YImaginaryHigh),
  -
  -  Bailout = maps:get(<<"bailoutThreshold">>, BinaryMap),
  -  MaxIter = maps:get(<<"maxIterationThreshold">>, BinaryMap),
  -  lager:debug("need more checks on input in config_utils:jason2atom"),
  -
  -  %% need to add checks on input here
  -  %% need to add optional parameters here (or default on gets above)
  +  Bailout = get_bailout(BinaryMap),
  +  MaxIter = get_max_iter(BinaryMap),
   
     JsonConfigMap = #{ width => Width
                      , height => Height
  
positive.code: check_is_float(_ParamName, Num) ->
    Num.
  
  get_c_real(BinaryMap) ->
    CReal = maps:get(<<"cReal">>, BinaryMap),
    check_is_float(c_real, CReal).
  
negative.code: check_y_imaginary(_YImaginaryLow, _YImaginaryHigh) ->
    erlang:error( yi_must_be_floats_and_high_must_be_greater_than_low).
  
  get_bailout(BinaryMap) ->
    Bailout = maps:get(<<"bailoutThreshold">>, BinaryMap),
    check_postive_float(bailout, Bailout).
  
  get_max_iter(BinaryMap) ->
    MaxIter = maps:get(<<"maxIterationThreshold">>, BinaryMap),
    check_positive_int(max_iter, MaxIter).
  
  