added a vector class and 2D rendering support