Quantum Monte Carlo Methods And Extensions For The 2D Hubbard Model