modify opsm monte calro method