Simplified input/output a bit. This actually renders Dot_Product() useless, so maybe I should repurpose it...