Optimal Stopping with Applications