assert to ensure logical flow
algorithm change
fixed bug in montecarlo
renamed method for clarity
changed name for clarity