Added garbage collection, perspective and orthographic projection