Used typedef as a handy way of switching between boundary conditions