add per vertex light, blending functionality, and update some control