Algebraic Geometry Foundations