Framework for later. (And a 2D vector class)