added software renderer
strange merge